#pragma once

#if defined(WIN32) || defined(_WIN32) // suppress min/max macros from win32 headers
	#ifndef NOMINMAX
		#define NOMINMAX
	#endif
#endif

#ifndef WIN32
#define WIN32
#endif

#ifndef BITS_32
#define BITS_32
#endif

#ifdef BITS_32
typedef unsigned long address_t;
#endif

typedef unsigned char byte;

#ifdef WIN32
#include <memory>
#include <Windows.h>
typedef std::shared_ptr<void> process_handle;
#endif
